package main

import "fmt"

// Author : CSR丶WARRIOR
// Time ： 2020/10/16  21:56
// TOOLS : GoLand
// FILENAME : PolymorphismDemo.go
// STATEMENT: 用多态来模拟实现 将移动硬盘或者U盘插到电脑上进行读写数据
type usb interface {
	transferData()
}
type hardDisk struct {
	price float64
}

func (h *hardDisk) transferData() {
	fmt.Println("移动硬盘正在传输数据")
}

type uDisk struct {
	price float64
}

func (u *uDisk) transferData() {
	fmt.Println("U盘正在传输数据")
}

func connectToComputer(u usb) {
	u.transferData()
}
func main() {
	var u uDisk
	var m hardDisk
	connectToComputer(&u) //U盘正在传输数据
	connectToComputer(&m) //移动硬盘正在传输数据
}
